class Config {
	static getInstance() {
		if (!this.instance) {
			this.instance = new Config();
		}
		return this.instance;
	}
	constructor() {
		this.instance = null
		this.config = {}
	}
	setConfig(config) {
		Object.assign(this.config,config)
	}
	getConfig() {
		let config = {
			// 定义全局使用的变量名称, 默认 $ui ,使用 uni.$ui.toast()
			root: "$uni",
			// 定义组件的层级
			componentsIndex: {
				toast: 10090,
				noNetwork: 10080,
				// popup包含popup，actionsheet，keyboard，picker的值
				popup: 10075,
				mask: 10070,
				navbar: 980,
				topTips: 975,
				sticky: 970,
				indexListSticky: 965,
			},
			 // 如果屏幕宽度 < mobileBreakpoint 时为 true
			mobileBreakpoint: 960,
			// 阈值
			// 可通过选项配置
			thresholds: {
				xs: 600,
				sm: 960,
				md: 1264,
				lg: 1904
			},
			// 定义基本主题 dark / light
			theme: 'dark',
			// 日志前缀
			perlogtext: "项目日志",
			// 是否显示日志和警告
			silent: false
		}

		return Object.assign(config, this.config)
	}
}

let configFn = Config.getInstance()

export const config = configFn.getConfig()
export const setConfig = configFn.setConfig
